from langgraph.prebuilt import ToolNode
from langchain_core.tools import tool
from langchain_community.tools.file_management import ReadFileTool, ListDirectoryTool, FileSearchTool, WriteFileTool

from langdev_tools.calc import multiply, add, exponentiate
from langdev_tools.search import BingSearchTool
from langdev_tools.file import CwdTool
from langdev_tools.cmd import CmdNode, cmd_condition, State

tools = [
    # tool,
    BingSearchTool(),
    multiply, add, exponentiate, CwdTool,
    ReadFileTool(), ListDirectoryTool(), FileSearchTool(), WriteFileTool()
]

tool_node = ToolNode(tools)

